diff options
| author | Adam Soltys <[email protected]> | 2023-12-07 22:34:23 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2023-12-07 22:34:23 -0800 |
| commit | 8940118dd22c5f2ab680ef8036bcfafecc5696ab (patch) | |
| tree | a49db92b3ba5f8668cc79ab1dae46e7a09999ba0 /src/routes/(app)/reset/[code]/+page.server.js | |
| parent | 00e88944abb529d07e189f1181de8a4804f8ae9c (diff) | |
| download | coinos-ui-8940118dd22c5f2ab680ef8036bcfafecc5696ab.tar.gz coinos-ui-8940118dd22c5f2ab680ef8036bcfafecc5696ab.zip | |
password reset
Diffstat (limited to 'src/routes/(app)/reset/[code]/+page.server.js')
| -rw-r--r-- | src/routes/(app)/reset/[code]/+page.server.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/routes/(app)/reset/[code]/+page.server.js b/src/routes/(app)/reset/[code]/+page.server.js new file mode 100644 index 00000000..92ad1d0f --- /dev/null +++ b/src/routes/(app)/reset/[code]/+page.server.js @@ -0,0 +1,30 @@ +import { fail, redirect } from "@sveltejs/kit"; +import { fd, post, login } from "$lib/utils"; + +export const actions = { + default: async ({ cookies, params, request }) => { + let ip = request.headers.get("cf-connecting-ip"); + let error; + + let { code } = params; + let { password } = await fd(request); + + try { + let user = await post("/reset", { code, password }); + user.password = password; + + try { + await login(user, cookies, ip); + error = null; + } catch (e) { + error ||= e.message; + } + + if (error) return fail(400, { error }); + throw redirect(307, `/${user.username}`); + } catch (e) { + console.log(e.message); + return fail(400, { error: e.message }); + } + }, +}; |
